using System;
using System.IO;

namespace TodoSoft.Json
{
	internal interface ISerializeMethodBuilder
	{
		void EchoText(string text);
		void EchoVar(short varIndex);
		void Foreach(string name, Action<ISerializeMethodBuilder, short> action);
		void IfNotNull(string name, Action<ISerializeMethodBuilder> action);		
		void WriteProperty(string name);
		void CallConvertionMethod(string name);
		short CreateStringVar(string initValue);
		void SetVar(short varIndex, string varVal);
	}

	public delegate void ConvertDelegate<T> (T obj, TextWriter textWriter);
}

